\relax 
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{3}}
\newlabel{sec:intro}{{1}{3}}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces  The act of {\em  encoding} takes the contents of\nobreakspace  {}$k$ data devices and encodes them on\nobreakspace  {}$m$ coding devices. The act of {\em  decoding} takes some subset of the collection of\nobreakspace  {}$(k+m)$ total devices and from them recalcalates the original\nobreakspace  {}$k$ devices of data.}}{3}}
\newlabel{fig:encoding}{{1}{3}}
\citation{p:07:gfl}
\citation{rs:60:pc}
\citation{p:97:rs}
\citation{pd:05:rs}
\citation{bkk:95:xor}
\citation{px:06:ocr}
\citation{a:07:mr6}
\citation{bbv:96:geo}
\citation{p:08:lib}
\citation{br:99:old}
\citation{p:08:md8}
\citation{p:97:rs}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces  Although codes are described on systems of\nobreakspace  {}$w$ bits, their implementation employs {\em  packets} that are much larger. Each packet in the implementation corresponds to a bit of the description. This figure is showing how the equation $c_{1,0} = d_{0,0} \oplus d_{1,1} \oplus d_{2,2} \oplus d_{3,3}$ is realized in an implementation.}}{4}}
\newlabel{fig:packets}{{2}{4}}
\@writefile{toc}{\contentsline {section}{\numberline {2}The Modules of the Library}{4}}
\citation{p:07:gfl}
\citation{mor:89:edi}
\citation{p:89:hdr}
\citation{bkk:95:xor}
\citation{pd:05:rs}
\citation{bkk:95:xor}
\@writefile{toc}{\contentsline {section}{\numberline {3}Matrix-Based Coding In General}{5}}
\newlabel{sec:mbc}{{3}{5}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces  Using a matrix-vector product to describe a coding system.}}{5}}
\newlabel{fig:matrix}{{3}{5}}
\@writefile{toc}{\contentsline {section}{\numberline {4}Bit-Matrix Coding In General}{6}}
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces  Describing a coding system with a bit-matrix-vector product.}}{6}}
\newlabel{fig:gbc}{{4}{6}}
\citation{hdrt:05:mm}
\citation{p:08:lib}
\citation{ceg:04:rdp}
\citation{pd:05:rs}
\citation{mor:89:edi}
\citation{bkk:95:xor}
\citation{bbbm:95:eo}
\citation{ceg:04:rdp}
\citation{hx:05:star}
\citation{fdb:05:rc1}
\citation{fdb:05:rc2}
\citation{br:99:old}
\citation{p:08:md8}
\citation{p:08:lib}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Using a schedule rather than a bit-matrix}{7}}
\newlabel{sec:sched}{{4.1}{7}}
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces  An example super-row of a bit-matrix for\nobreakspace  {}$k=3$, $w=5$.}}{7}}
\newlabel{fig:03-01-05}{{5}{7}}
\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces  A schedule of bit-matrix operations for the bit-matrix in Figure\nobreakspace  {}5\hbox {}. (a) shows the schedule, and (b) shows the dot-product equations corresponding to each line of the schedule.}}{7}}
\newlabel{fig:sched}{{6}{7}}
\@writefile{toc}{\contentsline {section}{\numberline {5}MDS Codes}{7}}
\citation{p:07:gfl}
\citation{a:07:mr6}
\@writefile{toc}{\contentsline {section}{\numberline {6}Part 1 of the Library: Galois Field Arithmetic (galois.h)}{8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Galois procedures used in Jerasure - galois.cpp}{8}}
\newlabel{sec:galprod}{{6.1}{8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Example programs}{8}}
\@writefile{toc}{\contentsline {section}{\numberline {7}Part 2 of the Library: Kernel Classes (jerasure.h)}{9}}
\newlabel{sec:kernel}{{7}{9}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}The JER\_Region class - jerasure.h}{9}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Encoding and decoding data - jer\_slices.cpp}{9}}
\citation{a:07:mr6}
\citation{a:07:mr6}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3}Generator matrices and scheduling - jer\_gen\_t.cpp}{13}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.4}Matrices and their basic operations - jer\_matrix.cpp}{14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.5}Example programs}{18}}
\newlabel{sec:keruse}{{7.5}{18}}
\citation{p:97:rs}
\citation{pd:05:rs}
\citation{a:07:mr6}
\citation{px:06:ocr}
\@writefile{toc}{\contentsline {section}{\numberline {8}Part 3 of the Library: Reed-Solomon Coding (reed\_sol.h)}{21}}
\newlabel{src:reed-sol}{{8}{21}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1}Cauchy matrices}{21}}
\citation{px:06:ocr}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2}Reed-Solomon generators - reed\_sol.cpp}{22}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.3}Example Programs}{24}}
\newlabel{sec:ususe}{{8.3}{24}}
\citation{a:07:mr6}
\citation{ceg:04:rdp}
\citation{p:08:lib}
\citation{bbv:96:geo}
\citation{br:99:old}
\citation{p:08:md8}
\citation{p:08:lib}
\citation{bbv:96:geo}
\@writefile{toc}{\contentsline {section}{\numberline {9}Part 4 of the Library: Bitmatrix-based Coding (bitmatrices.h)}{42}}
\newlabel{src:lib}{{9}{42}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.1}EVENODD, RDP, and minimal density RAID-6 generators - bitmatrices.cpp}{42}}
\@writefile{toc}{\contentsline {subsection}{\numberline {9.2}Example programs}{43}}
\@writefile{toc}{\contentsline {section}{\numberline {10}Example Application 1: Encoder and Decoder}{49}}
\@writefile{toc}{\contentsline {subsection}{\numberline {10.1}Encoder - encoder.cpp}{49}}
\@writefile{toc}{\contentsline {subsection}{\numberline {10.2}Decoder - decoder.cpp}{50}}
\citation{sp:08:pc}
\@writefile{toc}{\contentsline {subsection}{\numberline {10.3}Judicious selection of buffer and packet sizes}{51}}
\@writefile{toc}{\contentsline {section}{\numberline {11}Example Application 2: Personal File Archiving}{52}}
\@writefile{toc}{\contentsline {subsection}{\numberline {11.1}Personal archiving - personal\_archiving.cpp}{52}}
\@writefile{toc}{\contentsline {subsection}{\numberline {11.2}Personal retrieval - personal\_retrieval.cpp}{53}}
\@writefile{toc}{\contentsline {section}{\numberline {12}Example Application 3: RAID}{55}}
\@writefile{toc}{\contentsline {subsection}{\numberline {12.1}raid.cpp}{55}}
\bibstyle{alpha}
\bibdata{../References/coding,../References/storage,../References/os,../References/compiler}
\bibcite{a:07:mr6}{Anv07}
\bibcite{bbbm:95:eo}{BBBM95}
\bibcite{bbv:96:geo}{BBV}
\bibcite{bkk:95:xor}{BKK{$^{+}$}95}
\bibcite{br:99:old}{BR99}
\bibcite{ceg:04:rdp}{CEG{$^{+}$}04}
\bibcite{fdb:05:rc1}{FDBS05a}
\bibcite{fdb:05:rc2}{FDBS05b}
\bibcite{hdrt:05:mm}{HDRT05}
\bibcite{hx:05:star}{HX05}
\bibcite{pd:05:rs}{PD05}
\bibcite{p:97:rs}{Pla97}
\bibcite{p:07:gfl}{Pla07}
\bibcite{p:08:md8}{Pla08a}
\bibcite{p:08:lib}{Pla08b}
\bibcite{p:89:hdr}{Pre89}
\bibcite{px:06:ocr}{PX06}
\bibcite{mor:89:edi}{Rab89}
\bibcite{rs:60:pc}{RS60}
\bibcite{sp:08:pc}{SP08}
